#pragma GCC optimize(2, "Ofast", "inline")
#include <iostream>
#include <vector>
#include <queue>
#include <algorithm>
#define endl '\n'
#define int long long
using namespace std;

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int t;
    cin >> t;
    while (t--) {
        int n;
        cin >> n;
        vector<int> a(n);
        for (int i = 0; i < n; i++) {
            cin >> a[i];
        }
        sort(a.begin() + 1, a.end() - 1);
        // 特殊情况：只有两个骨牌
        if (n == 2) {
            if (a[0] * 2 >= a[1])
            {
                cout << 2 << endl;  // 可以直接从1号推倒N号
            }
            else
            {
                cout << -1 << endl;  // 无法从1号推倒N号
            }
            continue;
        }
        int l = 0, r = 1, cnt = 2;

        while (l < n)
        {
            int r = upper_bound(a.begin() + l + 1, a.begin() + n, 2 * a[l]) - a.begin();
            if(r==n) break;


        }
    }
    return 0;
}